home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 15
/
Aminet 15 - Nov 1996.iso
/
Aminet
/
dev
/
basic
/
ace24dist.lha
/
ace24.lha
/
include
/
intuition
/
ImageClass.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-09-10
|
9KB
|
282 lines
#ifndef INTUITION_IMAGECLASS_H
#define INTUITION_IMAGECLASS_H TRUE
/*
** imageclass.h for ACE Basic
**
** Note: Translated to ACE by ConvertC2ACE
** @ MapMeadow Software, Nils Sjoholm
**
**
** Date: 09/01/95
**
**
*/
/*
** This are the StructPointer defines for imageclass.h
*/
#ifndef impDrawPtr
#define impDrawPtr ADDRESS
#endif
#ifndef impErasePtr
#define impErasePtr ADDRESS
#endif
#ifndef impFrameBoxPtr
#define impFrameBoxPtr ADDRESS
#endif
#ifndef impHitTestPtr
#define impHitTestPtr ADDRESS
#endif
#ifndef imp_Dimensions_StructPtr
#define imp_Dimensions_StructPtr ADDRESS
#endif
#ifndef imp_Offset_StructPtr
#define imp_Offset_StructPtr ADDRESS
#endif
#ifndef imp_Point_StructPtr
#define imp_Point_StructPtr ADDRESS
#endif
/*
** End of StructPointer defines for imageclass.h
*/
#ifndef UTILITY_TAGITEM_H
#include <utility/tagitem.h>
#endif
/*
* NOTE: <intuition/iobsolete.h> is included at the END of this file!
*/
#define CUSTOMIMAGEDEPTH (-1)
/* if image.Depth is this, it's a new Image class object */
/* some convenient macros and casts */
/*
#define GADGET_BOX( g ) ( (STRUCT IBox *) &((STRUCT Gadget *)(g))->LeftEdge )
#define IM_BOX( im ) ( (STRUCT IBox *) &((STRUCT Image *)(im))->LeftEdge )
#define IM_FGPEN( im ) ( (im)->PlanePick )
#define IM_BGPEN( im ) ( (im)->PlaneOnOff )
*/
/******************************************************/
#define IA_Dummy (TAG_USER + &H20000)
#define IA_Left (IA_Dummy + &H01)
#define IA_Top (IA_Dummy + &H02)
#define IA_Width (IA_Dummy + &H03)
#define IA_Height (IA_Dummy + &H04)
#define IA_FGPen (IA_Dummy + &H05)
/* IA_FGPen also means "PlanePick" */
#define IA_BGPen (IA_Dummy + &H06)
/* IA_BGPen also means "PlaneOnOff" */
#define IA_Data (IA_Dummy + &H07)
/* bitplanes, for classic image,
* other image classes may use it for other things
*/
#define IA_LineWidth (IA_Dummy + &H08)
#define IA_Pens (IA_Dummy + &H0E)
/* pointer to SHORTINT pens[],
* ala DrawInfo.Pens, MUST be
* terminated by ~0. Some classes can
* choose to have this, or SYSIA_DrawInfo,
* or both.
*/
#define IA_Resolution (IA_Dummy + &H0F)
/* packed uwords for x/y resolution into a longword
* ala DrawInfo.Resolution
*/
/**** see class documentation to learn which *****/
/**** classes recognize these *****/
#define IA_APattern (IA_Dummy + &H10)
#define IA_APatSize (IA_Dummy + &H11)
#define IA_Mode (IA_Dummy + &H12)
#define IA_Font (IA_Dummy + &H13)
#define IA_Outline (IA_Dummy + &H14)
#define IA_Recessed (IA_Dummy + &H15)
#define IA_DoubleEmboss (IA_Dummy + &H16)
#define IA_EdgesOnly (IA_Dummy + &H17)
/**** "sysiclass" attributes *****/
#define SYSIA_Size (IA_Dummy + &H0B)
/* #define's below */
#define SYSIA_Depth (IA_Dummy + &H0C)
/* this is unused by Intuition. SYSIA_DrawInfo
* is used instead for V36
*/
#define SYSIA_Which (IA_Dummy + &H0D)
/* see #define's below */
#define SYSIA_DrawInfo (IA_Dummy + &H18)
/* pass to sysiclass, please */
/***** obsolete: don't use these, use IA_Pens *****/
#define SYSIA_Pens IA_Pens
#define IA_ShadowPen (IA_Dummy + &H09)
#define IA_HighlightPen (IA_Dummy + &H0A)
/* New for V39: */
#define SYSIA_ReferenceFont (IA_Dummy + &H19)
/* Font to use as reference for scaling
* certain sysiclass images
*/
#define IA_SupportsDisable (IA_Dummy + &H1a)
/* By default, Intuition ghosts gadgets itself,
* instead of relying on IDS_DISABLED or
* IDS_SELECTEDDISABLED. An imageclass that
* supports these states should return this attribute
* as TRUE. You cannot set or clear this attribute,
* however.
*/
#define IA_FrameType (IA_Dummy + &H1b)
/* Starting with V39, FrameIClass recognizes
* several standard types of frame. Use one
* of the FRAME_ specifiers below. Defaults
* to FRAME_DEFAULT.
*/
/** next attribute: (IA_Dummy + &H1c) **/
/*************************************************/
/* data values for SYSIA_Size */
#define SYSISIZE_MEDRES (0)
#define SYSISIZE_LOWRES (1)
#define SYSISIZE_HIRES (2)
/*
* SYSIA_Which tag data values:
* Specifies which system gadget you want an image for.
* Some numbers correspond to internal Intuition #defines
*/
#define DEPTHIMAGE (&H00&) /* Window depth gadget image */
#define ZOOMIMAGE (&H01&) /* Window zoom gadget image */
#define SIZEIMAGE (&H02&) /* Window sizing gadget image */
#define CLOSEIMAGE (&H03&) /* Window close gadget image */
#define SDEPTHIMAGE (&H05&) /* Screen depth gadget image */
#define LEFTIMAGE (&H0A&) /* Left-arrow gadget image */
#define UPIMAGE (&H0B&) /* Up-arrow gadget image */
#define RIGHTIMAGE (&H0C&) /* Right-arrow gadget image */
#define DOWNIMAGE (&H0D&) /* Down-arrow gadget image */
#define CHECKIMAGE (&H0E&) /* GadTools checkbox image */
#define MXIMAGE (&H0F&) /* GadTools mutual exclude "button" image */
/* New for V39: */
#define MENUCHECK (&H10&) /* Menu checkmark image */
#define AMIGAKEY (&H11&) /* Menu Amiga-key image */
/* Data values for IA_FrameType (recognized by FrameIClass)
*
* FRAME_DEFAULT: The standard V37-type frame, which has
* thin edges.
* FRAME_BUTTON: Standard button gadget frames, having thicker
* sides and nicely edged corners.
* FRAME_RIDGE: A ridge such as used by standard string gadgets.
* You can recess the ridge to get a groove image.
* FRAME_ICONDROPBOX: A broad ridge which is the standard imagery
* for areas in AppWindows where icons may be dropped.
*/
#define FRAME_DEFAULT 0
#define FRAME_BUTTON 1
#define FRAME_RIDGE 2
#define FRAME_ICONDROPBOX 3
/* image message id's */
#define IM_DRAW &H202& /* draw yourself, with "state" */
#define IM_HITTEST &H203& /* return TRUE if click hits image */
#define IM_ERASE &H204& /* erase yourself */
#define IM_MOVE &H205& /* draw new and erase old, smoothly */
#define IM_DRAWFRAME &H206& /* draw with specified dimensions */
#define IM_FRAMEBOX &H207& /* get recommended frame around some box*/
#define IM_HITFRAME &H208& /* hittest with dimensions */
#define IM_ERASEFRAME &H209& /* hittest with dimensions */
/* image draw states or styles, for IM_DRAW */
/* Note that they have no bitwise meanings (unfortunately) */
#define IDS_NORMAL (0&)
#define IDS_SELECTED (1&) /* for selected gadgets */
#define IDS_DISABLED (2&) /* for disabled gadgets */
#define IDS_BUSY (3&) /* for future functionality */
#define IDS_INDETERMINATE (4&) /* for future functionality */
#define IDS_INACTIVENORMAL (5&) /* normal, in inactive window border */
#define IDS_INACTIVESELECTED (6&) /* selected, in inactive border */
#define IDS_INACTIVEDISABLED (7&) /* disabled, in inactive border */
#define IDS_SELECTEDDISABLED (8&) /* disabled and selected */
/* oops, please forgive spelling error by jimm */
#define IDS_INDETERMINANT IDS_INDETERMINATE
/* IM_FRAMEBOX */
STRUCT impFrameBox
LONGINT MethodID
IBoxPtr imp_ContentsBox /* input: relative box of contents */
IBoxPtr imp_FrameBox /* output: rel. box of encl frame */
DrawInfoPtr imp_DrInfo /* NB: May be NULL */
LONGINT imp_FrameFlags
END STRUCT
#define FRAMEF_SPECIFY (&H1) /* Make do with the dimensions of FrameBox
* provided.
*/
/* IM_DRAW, IM_DRAWFRAME */
STRUCT imp_Offset_Struct
SHORTINT X
SHORTINT Y
END STRUCT
STRUCT imp_Dimensions_Struct
SHORTINT _Width
SHORTINT Height
END STRUCT
STRUCT impDraw
LONGINT MethodID
RastPortPtr imp_RPort
imp_Offset_Struct imp_Offset
LONGINT imp_State
DrawInfoPtr imp_DrInfo /* NB: May be NULL */
/* these parameters only valid for IM_DRAWFRAME */
imp_Dimensions_Struct imp_Dimensions
END STRUCT
/* IM_ERASE, IM_ERASEFRAME */
/* NOTE: This is a subset of impDraw */
STRUCT impErase
LONGINT MethodID
RastPortPtr imp_RPort
imp_Offset_Struct imp_Offset
/* these parameters only valid for IM_ERASEFRAME */
imp_Dimensions_Struct imp_Dimensions
END STRUCT
/* IM_HITTEST, IM_HITFRAME */
STRUCT imp_Point_Struct
SHORTINT X
SHORTINT Y
END STRUCT
STRUCT impHitTest
LONGINT MethodID
imp_Point_Struct imp_Point
/* these parameters only valid for IM_HITFRAME */
imp_Dimensions_Struct imp_Dimensions
END STRUCT
/* Include obsolete identifiers: */
#ifndef INTUITION_IOBSOLETE_H
#include <intuition/iobsolete.h>
#endif
#endif